\hypertarget{class_node}{
\section{\-Node \-Class \-Reference}
\label{class_node}\index{\-Node@{\-Node}}
}


\hyperlink{class_node}{\-Node} class.  




{\ttfamily \#include $<$node.\-h$>$}

\-Inheritance diagram for \-Node\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=6.000000cm]{class_node}
\end{center}
\end{figure}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
virtual int \hyperlink{class_node_ac0836475b7b0275dffe5ce89547f6852}{\-Intersect} (const \hyperlink{class_ray}{\-Ray} \&, \hyperlink{class_intersection}{\-Intersection} \&)=0
\begin{DoxyCompactList}\small\item\em \-Intersecting function. \end{DoxyCompactList}\item 
virtual int \hyperlink{class_node_a8f308647523fba2603248b83149855a5}{\-Intersect} (const \hyperlink{class_ray}{\-Ray} \&, \hyperlink{class_intersection}{\-Intersection} \&, \hyperlink{class_intersection}{\-Intersection} \&)=0
\begin{DoxyCompactList}\small\item\em \-Intersecting function. \end{DoxyCompactList}\item 
virtual int \hyperlink{class_node_aeecdf01a88be40840b65eb34cecc7a3c}{\-P\-M\-C} (const \hyperlink{class_vector}{\-Vector} \&)=0
\begin{DoxyCompactList}\small\item\em \-Containing function. \end{DoxyCompactList}\item 
\hypertarget{class_node_a3bc79b1fef701d1638b631ae384d9010}{
virtual \hyperlink{class_vector}{\-Vector} {\bfseries get\-Position} ()=0}
\label{class_node_a3bc79b1fef701d1638b631ae384d9010}

\item 
\hypertarget{class_node_ad7d3f20cd68ea44a02b0588d32cfd131}{
virtual \hyperlink{class_vector}{\-Vector} {\bfseries get\-Emission} ()=0}
\label{class_node_ad7d3f20cd68ea44a02b0588d32cfd131}

\item 
\hypertarget{class_node_aceea01792d77f81e26c83c7edc68dbe7}{
virtual \hyperlink{class_vector}{\-Vector} {\bfseries get\-Color} ()=0}
\label{class_node_aceea01792d77f81e26c83c7edc68dbe7}

\item 
\hypertarget{class_node_a1f77eb4564cc3ac5729173a48687d5b4}{
virtual double {\bfseries get\-F} ()=0}
\label{class_node_a1f77eb4564cc3ac5729173a48687d5b4}

\item 
\hypertarget{class_node_ac6efd2280f80887317b7e34b7656ac02}{
virtual int {\bfseries get\-Refl} ()=0}
\label{class_node_ac6efd2280f80887317b7e34b7656ac02}

\end{DoxyCompactItemize}


\subsection{\-Detailed \-Description}
\hyperlink{class_node}{\-Node} class. 

\hyperlink{class_node}{\-Node} is abstract class 

\subsection{\-Member \-Function \-Documentation}
\hypertarget{class_node_ac0836475b7b0275dffe5ce89547f6852}{
\index{\-Node@{\-Node}!\-Intersect@{\-Intersect}}
\index{\-Intersect@{\-Intersect}!Node@{\-Node}}
\subsubsection[{\-Intersect}]{\setlength{\rightskip}{0pt plus 5cm}virtual int \-Node\-::\-Intersect (
\begin{DoxyParamCaption}
\item[{const {\bf \-Ray} \&}]{, }
\item[{{\bf \-Intersection} \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{class_node_ac0836475b7b0275dffe5ce89547f6852}


\-Intersecting function. 

\-Compute the intersection between a node and a ray


\begin{DoxyParams}{\-Parameters}
{\em ray} & \-: the ray \\
\hline
{\em t} & \-: the intersection \\
\hline
\end{DoxyParams}


\-Implemented in \hyperlink{class_box_a6ac204afbbdc851645f33df16104292a}{\-Box}, \hyperlink{class_sphere_a4d1505b571540d40c3a6a60bd06e5fe8}{\-Sphere}, \hyperlink{class_translation_a4bd8b42e23e632d986b9b781d73676fa}{\-Translation}, \hyperlink{class_diff_a9d9ee35accad3efbed3aba5fc9da022c}{\-Diff}, \hyperlink{class_inter_a8b67290ace7c86e6cba66b5571466204}{\-Inter}, \hyperlink{class_rotation_a1209bbedf18d64a7fd7411235fb651bf}{\-Rotation}, \hyperlink{class_union_afa492095314d22df3372b4b1a3efaeca}{\-Union}, \hyperlink{class_cylinder_ac0fefa4e21c59f64bd1b52d46ffc660f}{\-Cylinder}, and \hyperlink{class_triangle_a24e02176baf3ba8b613bef47e4f416a9}{\-Triangle}.

\hypertarget{class_node_a8f308647523fba2603248b83149855a5}{
\index{\-Node@{\-Node}!\-Intersect@{\-Intersect}}
\index{\-Intersect@{\-Intersect}!Node@{\-Node}}
\subsubsection[{\-Intersect}]{\setlength{\rightskip}{0pt plus 5cm}virtual int \-Node\-::\-Intersect (
\begin{DoxyParamCaption}
\item[{const {\bf \-Ray} \&}]{, }
\item[{{\bf \-Intersection} \&}]{, }
\item[{{\bf \-Intersection} \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{class_node_a8f308647523fba2603248b83149855a5}


\-Intersecting function. 

\-Compute the intersections between a node and a ray


\begin{DoxyParams}{\-Parameters}
{\em ray} & \-: the ray \\
\hline
{\em t1} & \-: the first intersection \\
\hline
{\em t2} & \-: the second intersection \\
\hline
\end{DoxyParams}


\-Implemented in \hyperlink{class_box_a53e6a5db3bcc420700f88e6759da805d}{\-Box}, \hyperlink{class_sphere_a4199ccb2215a5c4ba1d2e80ffc842592}{\-Sphere}, \hyperlink{class_translation_aedd95cffebc575c47464090c4ac24c6f}{\-Translation}, \hyperlink{class_diff_ad2e06f30b3998b3c9592821e9a037697}{\-Diff}, \hyperlink{class_inter_a50b2aa819ddbd2c53d26e8e7342312da}{\-Inter}, \hyperlink{class_rotation_a1b1ecff10f85a2f7ab778c06e9f6f263}{\-Rotation}, \hyperlink{class_union_a2ecdc6c70bd44426bc20d88885ec497f}{\-Union}, \hyperlink{class_cylinder_ad5f756db8354800d0a95862f6de2a5fe}{\-Cylinder}, and \hyperlink{class_triangle_a4c4505c8ada8702526051f53f5a951cd}{\-Triangle}.

\hypertarget{class_node_aeecdf01a88be40840b65eb34cecc7a3c}{
\index{\-Node@{\-Node}!\-P\-M\-C@{\-P\-M\-C}}
\index{\-P\-M\-C@{\-P\-M\-C}!Node@{\-Node}}
\subsubsection[{\-P\-M\-C}]{\setlength{\rightskip}{0pt plus 5cm}virtual int \-Node\-::\-P\-M\-C (
\begin{DoxyParamCaption}
\item[{const {\bf \-Vector} \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{class_node_aeecdf01a88be40840b65eb34cecc7a3c}


\-Containing function. 

\-Checks if the point is inside the instance


\begin{DoxyParams}{\-Parameters}
{\em u} & \-: the point \\
\hline
\end{DoxyParams}


\-Implemented in \hyperlink{class_box_afb71788385a4f8ff91c6d8385972dde4}{\-Box}, \hyperlink{class_sphere_abccfe78233b90c14e6e2afe74e27e6d5}{\-Sphere}, \hyperlink{class_translation_a23217f05d1442f4f5fc7db511dd57434}{\-Translation}, \hyperlink{class_diff_a9569764d64e3cc072c554ceffad7934a}{\-Diff}, \hyperlink{class_inter_a62fb756b8848c042f6ea48bbe204f4a6}{\-Inter}, \hyperlink{class_rotation_a1dbfa88ef89ea7bd50a875ca7fe9f911}{\-Rotation}, \hyperlink{class_union_ae9430083fcfdc62199b26db6e511d150}{\-Union}, \hyperlink{class_cylinder_a54d8f47f574488e583868fbd5dfd9abf}{\-Cylinder}, and \hyperlink{class_triangle_ab6066a8828559d40c1f88dfcf92723bb}{\-Triangle}.



\-The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
headers/\hyperlink{node_8h}{node.\-h}\end{DoxyCompactItemize}
